package cn.buk.tms.dao;

import cn.buk.common.sc.CommonSearchCriteria;
import cn.buk.tms.entity.misc.AttractionInfo;
import cn.buk.tms.entity.misc.AttractionPrice;
import cn.buk.tms.entity.misc.OperationLog;
import cn.buk.tms.entity.misc.TicketOrder;
import cn.buk.tms.sc.SearchFlightOrderCriteria;

import java.util.Date;
import java.util.List;

public interface AttractionDao {
  /**
   * 保存景点信息
   * @param userId
   * @param attractionInfo
   * @return
   */
  int saveAttractionInfo(int userId, AttractionInfo attractionInfo);

  AttractionInfo getAttractionInfoById(int id);

  List<AttractionInfo> searchAttractions(int userId, CommonSearchCriteria sc);

  /**
   * 批量保存酒店价格
   * @param userId
   * @param attractionId
   * @param startDate
   * @param endDate
   * @param price
   * @param remark
   * @return
   */
  int saveAttractionPrice(int userId, int attractionId, Date startDate, Date endDate, int price, String remark);

  List<AttractionPrice> searchAttractionPrices(int userId, int attractionId, CommonSearchCriteria sc);

  int deleteAttractionPrice(int userId, int attractionId, int priceId);

  List<TicketOrder> searchTicketOrders(int enterpriseId, SearchFlightOrderCriteria sc);

  TicketOrder getTicketOrderById(int orderId);

  List<OperationLog> searchTicketOrderHistory(int enterpriseId, int orderId);

  int cancelTicketOrder(int enterpriseId, String username, int orderId, String remark);

  int processTicketOrder(int enterpriseId, String username, int orderId);

  int finishTicketOrder(int enterpriseId, String username, int orderId, String remark);
}
